home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / DevPac v3.02b.adf / include / exec / ables.i next >
Text File  |  1991-11-20  |  2KB  |  99 lines

  1.     IFND    EXEC_ABLES_I
  2. EXEC_ABLES_I    SET    1
  3. **
  4. **    $Filename: exec/ables.i $
  5. **    $Release: 1.3 $
  6. **
  7. **    
  8. **
  9. **    (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND EXEC_TYPES_I
  14.     INCLUDE "exec/types.i"
  15.     ENDC    ; EXEC_TYPES_I
  16.  
  17.     IFND EXEC_EXECBASE_I
  18.     INCLUDE "exec/execbase.i"
  19.     ENDC    ; EXEC_EXECBASE_I
  20.  
  21.  
  22. *----------------------------------------------------------------
  23. *
  24. *   Interrupt Exclusion Macros
  25. *
  26. *----------------------------------------------------------------
  27.  
  28. INT_ABLES   MACRO            * externals for dis/enable
  29.         XREF    _intena
  30.         ENDM
  31.  
  32.  
  33. DISABLE        MACRO   * [scratchReg]
  34.         IFC        '\1',''
  35.         MOVE.W  #$04000,_intena    *(NOT IF_SETCLR)+IF_INTEN
  36.         ADDQ.B  #1,IDNestCnt(A6)
  37.         ENDC
  38.         IFNC    '\1',''
  39.         MOVE.L  4,\1
  40.         MOVE.W  #$04000,_intena    *(NOT IF_SETCLR)+IF_INTEN
  41.         ADDQ.B  #1,IDNestCnt(\1)
  42.         ENDC
  43.         ENDM
  44.  
  45.  
  46. ENABLE        MACRO   * [scratchReg]
  47.         IFC        '\1',''
  48.         SUBQ.B  #1,IDNestCnt(A6)
  49.         BGE.S   ENABLE\@
  50.         MOVE.W  #$0C000,_intena    *IF_SETCLR+IF_INTEN
  51. ENABLE\@:
  52.         ENDC
  53.         IFNC    '\1',''
  54.         MOVE.L  4,\1
  55.         SUBQ.B  #1,IDNestCnt(\1)
  56.         BGE.S   ENABLE\@
  57.         MOVE.W  #$0C000,_intena
  58. ENABLE\@:
  59.         ENDC
  60.         ENDM
  61.  
  62.  
  63. *----------------------------------------------------------------
  64. *
  65. *   Tasking Exclusion Macros
  66. *
  67. *----------------------------------------------------------------
  68.  
  69. TASK_ABLES  MACRO
  70. *        INCLUDE "execbase.i" for TDNestCnt offset
  71.         XREF    _LVOPermit
  72.         ENDM
  73.  
  74.  
  75. FORBID        MACRO
  76.         IFC        '\1',''
  77.         ADDQ.B  #1,TDNestCnt(A6)
  78.         ENDC
  79.         IFNC    '\1',''
  80.         MOVE.L  4,\1
  81.         ADDQ.B  #1,TDNestCnt(\1)
  82.         ENDC
  83.         ENDM
  84.  
  85.  
  86. PERMIT        MACRO
  87.         IFC        '\1',''
  88.         JSR        _LVOPermit(A6)
  89.         ENDC
  90.         IFNC    '\1',''
  91.         MOVE.L  A6,-(SP)
  92.         MOVE.L  4,A6
  93.         JSR        _LVOPermit(A6)
  94.         MOVE.L  (SP)+,A6
  95.         ENDC
  96.         ENDM
  97.  
  98.     ENDC    ; EXEC_ABLES_I
  99.